package com.rc.evcharger.model.elec;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class ElecPilePowerExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public ElecPilePowerExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andElecPileIdIsNull() {
            addCriterion("elec_pile_id is null");
            return (Criteria) this;
        }

        public Criteria andElecPileIdIsNotNull() {
            addCriterion("elec_pile_id is not null");
            return (Criteria) this;
        }

        public Criteria andElecPileIdEqualTo(Long value) {
            addCriterion("elec_pile_id =", value, "elecPileId");
            return (Criteria) this;
        }

        public Criteria andElecPileIdNotEqualTo(Long value) {
            addCriterion("elec_pile_id <>", value, "elecPileId");
            return (Criteria) this;
        }

        public Criteria andElecPileIdGreaterThan(Long value) {
            addCriterion("elec_pile_id >", value, "elecPileId");
            return (Criteria) this;
        }

        public Criteria andElecPileIdGreaterThanOrEqualTo(Long value) {
            addCriterion("elec_pile_id >=", value, "elecPileId");
            return (Criteria) this;
        }

        public Criteria andElecPileIdLessThan(Long value) {
            addCriterion("elec_pile_id <", value, "elecPileId");
            return (Criteria) this;
        }

        public Criteria andElecPileIdLessThanOrEqualTo(Long value) {
            addCriterion("elec_pile_id <=", value, "elecPileId");
            return (Criteria) this;
        }

        public Criteria andElecPileIdIn(List<Long> values) {
            addCriterion("elec_pile_id in", values, "elecPileId");
            return (Criteria) this;
        }

        public Criteria andElecPileIdNotIn(List<Long> values) {
            addCriterion("elec_pile_id not in", values, "elecPileId");
            return (Criteria) this;
        }

        public Criteria andElecPileIdBetween(Long value1, Long value2) {
            addCriterion("elec_pile_id between", value1, value2, "elecPileId");
            return (Criteria) this;
        }

        public Criteria andElecPileIdNotBetween(Long value1, Long value2) {
            addCriterion("elec_pile_id not between", value1, value2, "elecPileId");
            return (Criteria) this;
        }

        public Criteria andTenantCodeIsNull() {
            addCriterion("tenant_code is null");
            return (Criteria) this;
        }

        public Criteria andTenantCodeIsNotNull() {
            addCriterion("tenant_code is not null");
            return (Criteria) this;
        }

        public Criteria andTenantCodeEqualTo(String value) {
            addCriterion("tenant_code =", value, "tenantCode");
            return (Criteria) this;
        }

        public Criteria andTenantCodeNotEqualTo(String value) {
            addCriterion("tenant_code <>", value, "tenantCode");
            return (Criteria) this;
        }

        public Criteria andTenantCodeGreaterThan(String value) {
            addCriterion("tenant_code >", value, "tenantCode");
            return (Criteria) this;
        }

        public Criteria andTenantCodeGreaterThanOrEqualTo(String value) {
            addCriterion("tenant_code >=", value, "tenantCode");
            return (Criteria) this;
        }

        public Criteria andTenantCodeLessThan(String value) {
            addCriterion("tenant_code <", value, "tenantCode");
            return (Criteria) this;
        }

        public Criteria andTenantCodeLessThanOrEqualTo(String value) {
            addCriterion("tenant_code <=", value, "tenantCode");
            return (Criteria) this;
        }

        public Criteria andTenantCodeLike(String value) {
            addCriterion("tenant_code like", value, "tenantCode");
            return (Criteria) this;
        }

        public Criteria andTenantCodeNotLike(String value) {
            addCriterion("tenant_code not like", value, "tenantCode");
            return (Criteria) this;
        }

        public Criteria andTenantCodeIn(List<String> values) {
            addCriterion("tenant_code in", values, "tenantCode");
            return (Criteria) this;
        }

        public Criteria andTenantCodeNotIn(List<String> values) {
            addCriterion("tenant_code not in", values, "tenantCode");
            return (Criteria) this;
        }

        public Criteria andTenantCodeBetween(String value1, String value2) {
            addCriterion("tenant_code between", value1, value2, "tenantCode");
            return (Criteria) this;
        }

        public Criteria andTenantCodeNotBetween(String value1, String value2) {
            addCriterion("tenant_code not between", value1, value2, "tenantCode");
            return (Criteria) this;
        }

        public Criteria andElecStationIdIsNull() {
            addCriterion("elec_station_id is null");
            return (Criteria) this;
        }

        public Criteria andElecStationIdIsNotNull() {
            addCriterion("elec_station_id is not null");
            return (Criteria) this;
        }

        public Criteria andElecStationIdEqualTo(Long value) {
            addCriterion("elec_station_id =", value, "elecStationId");
            return (Criteria) this;
        }

        public Criteria andElecStationIdNotEqualTo(Long value) {
            addCriterion("elec_station_id <>", value, "elecStationId");
            return (Criteria) this;
        }

        public Criteria andElecStationIdGreaterThan(Long value) {
            addCriterion("elec_station_id >", value, "elecStationId");
            return (Criteria) this;
        }

        public Criteria andElecStationIdGreaterThanOrEqualTo(Long value) {
            addCriterion("elec_station_id >=", value, "elecStationId");
            return (Criteria) this;
        }

        public Criteria andElecStationIdLessThan(Long value) {
            addCriterion("elec_station_id <", value, "elecStationId");
            return (Criteria) this;
        }

        public Criteria andElecStationIdLessThanOrEqualTo(Long value) {
            addCriterion("elec_station_id <=", value, "elecStationId");
            return (Criteria) this;
        }

        public Criteria andElecStationIdIn(List<Long> values) {
            addCriterion("elec_station_id in", values, "elecStationId");
            return (Criteria) this;
        }

        public Criteria andElecStationIdNotIn(List<Long> values) {
            addCriterion("elec_station_id not in", values, "elecStationId");
            return (Criteria) this;
        }

        public Criteria andElecStationIdBetween(Long value1, Long value2) {
            addCriterion("elec_station_id between", value1, value2, "elecStationId");
            return (Criteria) this;
        }

        public Criteria andElecStationIdNotBetween(Long value1, Long value2) {
            addCriterion("elec_station_id not between", value1, value2, "elecStationId");
            return (Criteria) this;
        }

        public Criteria andCurrentIsNull() {
            addCriterion("current is null");
            return (Criteria) this;
        }

        public Criteria andCurrentIsNotNull() {
            addCriterion("current is not null");
            return (Criteria) this;
        }

        public Criteria andCurrentEqualTo(Integer value) {
            addCriterion("current =", value, "current");
            return (Criteria) this;
        }

        public Criteria andCurrentNotEqualTo(Integer value) {
            addCriterion("current <>", value, "current");
            return (Criteria) this;
        }

        public Criteria andCurrentGreaterThan(Integer value) {
            addCriterion("current >", value, "current");
            return (Criteria) this;
        }

        public Criteria andCurrentGreaterThanOrEqualTo(Integer value) {
            addCriterion("current >=", value, "current");
            return (Criteria) this;
        }

        public Criteria andCurrentLessThan(Integer value) {
            addCriterion("current <", value, "current");
            return (Criteria) this;
        }

        public Criteria andCurrentLessThanOrEqualTo(Integer value) {
            addCriterion("current <=", value, "current");
            return (Criteria) this;
        }

        public Criteria andCurrentIn(List<Integer> values) {
            addCriterion("current in", values, "current");
            return (Criteria) this;
        }

        public Criteria andCurrentNotIn(List<Integer> values) {
            addCriterion("current not in", values, "current");
            return (Criteria) this;
        }

        public Criteria andCurrentBetween(Integer value1, Integer value2) {
            addCriterion("current between", value1, value2, "current");
            return (Criteria) this;
        }

        public Criteria andCurrentNotBetween(Integer value1, Integer value2) {
            addCriterion("current not between", value1, value2, "current");
            return (Criteria) this;
        }

        public Criteria andVoltageIsNull() {
            addCriterion("voltage is null");
            return (Criteria) this;
        }

        public Criteria andVoltageIsNotNull() {
            addCriterion("voltage is not null");
            return (Criteria) this;
        }

        public Criteria andVoltageEqualTo(Integer value) {
            addCriterion("voltage =", value, "voltage");
            return (Criteria) this;
        }

        public Criteria andVoltageNotEqualTo(Integer value) {
            addCriterion("voltage <>", value, "voltage");
            return (Criteria) this;
        }

        public Criteria andVoltageGreaterThan(Integer value) {
            addCriterion("voltage >", value, "voltage");
            return (Criteria) this;
        }

        public Criteria andVoltageGreaterThanOrEqualTo(Integer value) {
            addCriterion("voltage >=", value, "voltage");
            return (Criteria) this;
        }

        public Criteria andVoltageLessThan(Integer value) {
            addCriterion("voltage <", value, "voltage");
            return (Criteria) this;
        }

        public Criteria andVoltageLessThanOrEqualTo(Integer value) {
            addCriterion("voltage <=", value, "voltage");
            return (Criteria) this;
        }

        public Criteria andVoltageIn(List<Integer> values) {
            addCriterion("voltage in", values, "voltage");
            return (Criteria) this;
        }

        public Criteria andVoltageNotIn(List<Integer> values) {
            addCriterion("voltage not in", values, "voltage");
            return (Criteria) this;
        }

        public Criteria andVoltageBetween(Integer value1, Integer value2) {
            addCriterion("voltage between", value1, value2, "voltage");
            return (Criteria) this;
        }

        public Criteria andVoltageNotBetween(Integer value1, Integer value2) {
            addCriterion("voltage not between", value1, value2, "voltage");
            return (Criteria) this;
        }

        public Criteria andPowerIsNull() {
            addCriterion("power is null");
            return (Criteria) this;
        }

        public Criteria andPowerIsNotNull() {
            addCriterion("power is not null");
            return (Criteria) this;
        }

        public Criteria andPowerEqualTo(BigDecimal value) {
            addCriterion("power =", value, "power");
            return (Criteria) this;
        }

        public Criteria andPowerNotEqualTo(BigDecimal value) {
            addCriterion("power <>", value, "power");
            return (Criteria) this;
        }

        public Criteria andPowerGreaterThan(BigDecimal value) {
            addCriterion("power >", value, "power");
            return (Criteria) this;
        }

        public Criteria andPowerGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("power >=", value, "power");
            return (Criteria) this;
        }

        public Criteria andPowerLessThan(BigDecimal value) {
            addCriterion("power <", value, "power");
            return (Criteria) this;
        }

        public Criteria andPowerLessThanOrEqualTo(BigDecimal value) {
            addCriterion("power <=", value, "power");
            return (Criteria) this;
        }

        public Criteria andPowerIn(List<BigDecimal> values) {
            addCriterion("power in", values, "power");
            return (Criteria) this;
        }

        public Criteria andPowerNotIn(List<BigDecimal> values) {
            addCriterion("power not in", values, "power");
            return (Criteria) this;
        }

        public Criteria andPowerBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("power between", value1, value2, "power");
            return (Criteria) this;
        }

        public Criteria andPowerNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("power not between", value1, value2, "power");
            return (Criteria) this;
        }

        public Criteria andOutPowerIsNull() {
            addCriterion("out_power is null");
            return (Criteria) this;
        }

        public Criteria andOutPowerIsNotNull() {
            addCriterion("out_power is not null");
            return (Criteria) this;
        }

        public Criteria andOutPowerEqualTo(BigDecimal value) {
            addCriterion("out_power =", value, "outPower");
            return (Criteria) this;
        }

        public Criteria andOutPowerNotEqualTo(BigDecimal value) {
            addCriterion("out_power <>", value, "outPower");
            return (Criteria) this;
        }

        public Criteria andOutPowerGreaterThan(BigDecimal value) {
            addCriterion("out_power >", value, "outPower");
            return (Criteria) this;
        }

        public Criteria andOutPowerGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("out_power >=", value, "outPower");
            return (Criteria) this;
        }

        public Criteria andOutPowerLessThan(BigDecimal value) {
            addCriterion("out_power <", value, "outPower");
            return (Criteria) this;
        }

        public Criteria andOutPowerLessThanOrEqualTo(BigDecimal value) {
            addCriterion("out_power <=", value, "outPower");
            return (Criteria) this;
        }

        public Criteria andOutPowerIn(List<BigDecimal> values) {
            addCriterion("out_power in", values, "outPower");
            return (Criteria) this;
        }

        public Criteria andOutPowerNotIn(List<BigDecimal> values) {
            addCriterion("out_power not in", values, "outPower");
            return (Criteria) this;
        }

        public Criteria andOutPowerBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("out_power between", value1, value2, "outPower");
            return (Criteria) this;
        }

        public Criteria andOutPowerNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("out_power not between", value1, value2, "outPower");
            return (Criteria) this;
        }

        public Criteria andOutPowerAIsNull() {
            addCriterion("out_power_a is null");
            return (Criteria) this;
        }

        public Criteria andOutPowerAIsNotNull() {
            addCriterion("out_power_a is not null");
            return (Criteria) this;
        }

        public Criteria andOutPowerAEqualTo(BigDecimal value) {
            addCriterion("out_power_a =", value, "outPowerA");
            return (Criteria) this;
        }

        public Criteria andOutPowerANotEqualTo(BigDecimal value) {
            addCriterion("out_power_a <>", value, "outPowerA");
            return (Criteria) this;
        }

        public Criteria andOutPowerAGreaterThan(BigDecimal value) {
            addCriterion("out_power_a >", value, "outPowerA");
            return (Criteria) this;
        }

        public Criteria andOutPowerAGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("out_power_a >=", value, "outPowerA");
            return (Criteria) this;
        }

        public Criteria andOutPowerALessThan(BigDecimal value) {
            addCriterion("out_power_a <", value, "outPowerA");
            return (Criteria) this;
        }

        public Criteria andOutPowerALessThanOrEqualTo(BigDecimal value) {
            addCriterion("out_power_a <=", value, "outPowerA");
            return (Criteria) this;
        }

        public Criteria andOutPowerAIn(List<BigDecimal> values) {
            addCriterion("out_power_a in", values, "outPowerA");
            return (Criteria) this;
        }

        public Criteria andOutPowerANotIn(List<BigDecimal> values) {
            addCriterion("out_power_a not in", values, "outPowerA");
            return (Criteria) this;
        }

        public Criteria andOutPowerABetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("out_power_a between", value1, value2, "outPowerA");
            return (Criteria) this;
        }

        public Criteria andOutPowerANotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("out_power_a not between", value1, value2, "outPowerA");
            return (Criteria) this;
        }

        public Criteria andOutPowerBIsNull() {
            addCriterion("out_power_b is null");
            return (Criteria) this;
        }

        public Criteria andOutPowerBIsNotNull() {
            addCriterion("out_power_b is not null");
            return (Criteria) this;
        }

        public Criteria andOutPowerBEqualTo(BigDecimal value) {
            addCriterion("out_power_b =", value, "outPowerB");
            return (Criteria) this;
        }

        public Criteria andOutPowerBNotEqualTo(BigDecimal value) {
            addCriterion("out_power_b <>", value, "outPowerB");
            return (Criteria) this;
        }

        public Criteria andOutPowerBGreaterThan(BigDecimal value) {
            addCriterion("out_power_b >", value, "outPowerB");
            return (Criteria) this;
        }

        public Criteria andOutPowerBGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("out_power_b >=", value, "outPowerB");
            return (Criteria) this;
        }

        public Criteria andOutPowerBLessThan(BigDecimal value) {
            addCriterion("out_power_b <", value, "outPowerB");
            return (Criteria) this;
        }

        public Criteria andOutPowerBLessThanOrEqualTo(BigDecimal value) {
            addCriterion("out_power_b <=", value, "outPowerB");
            return (Criteria) this;
        }

        public Criteria andOutPowerBIn(List<BigDecimal> values) {
            addCriterion("out_power_b in", values, "outPowerB");
            return (Criteria) this;
        }

        public Criteria andOutPowerBNotIn(List<BigDecimal> values) {
            addCriterion("out_power_b not in", values, "outPowerB");
            return (Criteria) this;
        }

        public Criteria andOutPowerBBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("out_power_b between", value1, value2, "outPowerB");
            return (Criteria) this;
        }

        public Criteria andOutPowerBNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("out_power_b not between", value1, value2, "outPowerB");
            return (Criteria) this;
        }

        public Criteria andBmsCurrentAIsNull() {
            addCriterion("bms_current_a is null");
            return (Criteria) this;
        }

        public Criteria andBmsCurrentAIsNotNull() {
            addCriterion("bms_current_a is not null");
            return (Criteria) this;
        }

        public Criteria andBmsCurrentAEqualTo(Integer value) {
            addCriterion("bms_current_a =", value, "bmsCurrentA");
            return (Criteria) this;
        }

        public Criteria andBmsCurrentANotEqualTo(Integer value) {
            addCriterion("bms_current_a <>", value, "bmsCurrentA");
            return (Criteria) this;
        }

        public Criteria andBmsCurrentAGreaterThan(Integer value) {
            addCriterion("bms_current_a >", value, "bmsCurrentA");
            return (Criteria) this;
        }

        public Criteria andBmsCurrentAGreaterThanOrEqualTo(Integer value) {
            addCriterion("bms_current_a >=", value, "bmsCurrentA");
            return (Criteria) this;
        }

        public Criteria andBmsCurrentALessThan(Integer value) {
            addCriterion("bms_current_a <", value, "bmsCurrentA");
            return (Criteria) this;
        }

        public Criteria andBmsCurrentALessThanOrEqualTo(Integer value) {
            addCriterion("bms_current_a <=", value, "bmsCurrentA");
            return (Criteria) this;
        }

        public Criteria andBmsCurrentAIn(List<Integer> values) {
            addCriterion("bms_current_a in", values, "bmsCurrentA");
            return (Criteria) this;
        }

        public Criteria andBmsCurrentANotIn(List<Integer> values) {
            addCriterion("bms_current_a not in", values, "bmsCurrentA");
            return (Criteria) this;
        }

        public Criteria andBmsCurrentABetween(Integer value1, Integer value2) {
            addCriterion("bms_current_a between", value1, value2, "bmsCurrentA");
            return (Criteria) this;
        }

        public Criteria andBmsCurrentANotBetween(Integer value1, Integer value2) {
            addCriterion("bms_current_a not between", value1, value2, "bmsCurrentA");
            return (Criteria) this;
        }

        public Criteria andBmsCurrentBIsNull() {
            addCriterion("bms_current_b is null");
            return (Criteria) this;
        }

        public Criteria andBmsCurrentBIsNotNull() {
            addCriterion("bms_current_b is not null");
            return (Criteria) this;
        }

        public Criteria andBmsCurrentBEqualTo(Integer value) {
            addCriterion("bms_current_b =", value, "bmsCurrentB");
            return (Criteria) this;
        }

        public Criteria andBmsCurrentBNotEqualTo(Integer value) {
            addCriterion("bms_current_b <>", value, "bmsCurrentB");
            return (Criteria) this;
        }

        public Criteria andBmsCurrentBGreaterThan(Integer value) {
            addCriterion("bms_current_b >", value, "bmsCurrentB");
            return (Criteria) this;
        }

        public Criteria andBmsCurrentBGreaterThanOrEqualTo(Integer value) {
            addCriterion("bms_current_b >=", value, "bmsCurrentB");
            return (Criteria) this;
        }

        public Criteria andBmsCurrentBLessThan(Integer value) {
            addCriterion("bms_current_b <", value, "bmsCurrentB");
            return (Criteria) this;
        }

        public Criteria andBmsCurrentBLessThanOrEqualTo(Integer value) {
            addCriterion("bms_current_b <=", value, "bmsCurrentB");
            return (Criteria) this;
        }

        public Criteria andBmsCurrentBIn(List<Integer> values) {
            addCriterion("bms_current_b in", values, "bmsCurrentB");
            return (Criteria) this;
        }

        public Criteria andBmsCurrentBNotIn(List<Integer> values) {
            addCriterion("bms_current_b not in", values, "bmsCurrentB");
            return (Criteria) this;
        }

        public Criteria andBmsCurrentBBetween(Integer value1, Integer value2) {
            addCriterion("bms_current_b between", value1, value2, "bmsCurrentB");
            return (Criteria) this;
        }

        public Criteria andBmsCurrentBNotBetween(Integer value1, Integer value2) {
            addCriterion("bms_current_b not between", value1, value2, "bmsCurrentB");
            return (Criteria) this;
        }

        public Criteria andBmsVoltageAIsNull() {
            addCriterion("bms_voltage_a is null");
            return (Criteria) this;
        }

        public Criteria andBmsVoltageAIsNotNull() {
            addCriterion("bms_voltage_a is not null");
            return (Criteria) this;
        }

        public Criteria andBmsVoltageAEqualTo(Integer value) {
            addCriterion("bms_voltage_a =", value, "bmsVoltageA");
            return (Criteria) this;
        }

        public Criteria andBmsVoltageANotEqualTo(Integer value) {
            addCriterion("bms_voltage_a <>", value, "bmsVoltageA");
            return (Criteria) this;
        }

        public Criteria andBmsVoltageAGreaterThan(Integer value) {
            addCriterion("bms_voltage_a >", value, "bmsVoltageA");
            return (Criteria) this;
        }

        public Criteria andBmsVoltageAGreaterThanOrEqualTo(Integer value) {
            addCriterion("bms_voltage_a >=", value, "bmsVoltageA");
            return (Criteria) this;
        }

        public Criteria andBmsVoltageALessThan(Integer value) {
            addCriterion("bms_voltage_a <", value, "bmsVoltageA");
            return (Criteria) this;
        }

        public Criteria andBmsVoltageALessThanOrEqualTo(Integer value) {
            addCriterion("bms_voltage_a <=", value, "bmsVoltageA");
            return (Criteria) this;
        }

        public Criteria andBmsVoltageAIn(List<Integer> values) {
            addCriterion("bms_voltage_a in", values, "bmsVoltageA");
            return (Criteria) this;
        }

        public Criteria andBmsVoltageANotIn(List<Integer> values) {
            addCriterion("bms_voltage_a not in", values, "bmsVoltageA");
            return (Criteria) this;
        }

        public Criteria andBmsVoltageABetween(Integer value1, Integer value2) {
            addCriterion("bms_voltage_a between", value1, value2, "bmsVoltageA");
            return (Criteria) this;
        }

        public Criteria andBmsVoltageANotBetween(Integer value1, Integer value2) {
            addCriterion("bms_voltage_a not between", value1, value2, "bmsVoltageA");
            return (Criteria) this;
        }

        public Criteria andBmsVoltageBIsNull() {
            addCriterion("bms_voltage_b is null");
            return (Criteria) this;
        }

        public Criteria andBmsVoltageBIsNotNull() {
            addCriterion("bms_voltage_b is not null");
            return (Criteria) this;
        }

        public Criteria andBmsVoltageBEqualTo(Integer value) {
            addCriterion("bms_voltage_b =", value, "bmsVoltageB");
            return (Criteria) this;
        }

        public Criteria andBmsVoltageBNotEqualTo(Integer value) {
            addCriterion("bms_voltage_b <>", value, "bmsVoltageB");
            return (Criteria) this;
        }

        public Criteria andBmsVoltageBGreaterThan(Integer value) {
            addCriterion("bms_voltage_b >", value, "bmsVoltageB");
            return (Criteria) this;
        }

        public Criteria andBmsVoltageBGreaterThanOrEqualTo(Integer value) {
            addCriterion("bms_voltage_b >=", value, "bmsVoltageB");
            return (Criteria) this;
        }

        public Criteria andBmsVoltageBLessThan(Integer value) {
            addCriterion("bms_voltage_b <", value, "bmsVoltageB");
            return (Criteria) this;
        }

        public Criteria andBmsVoltageBLessThanOrEqualTo(Integer value) {
            addCriterion("bms_voltage_b <=", value, "bmsVoltageB");
            return (Criteria) this;
        }

        public Criteria andBmsVoltageBIn(List<Integer> values) {
            addCriterion("bms_voltage_b in", values, "bmsVoltageB");
            return (Criteria) this;
        }

        public Criteria andBmsVoltageBNotIn(List<Integer> values) {
            addCriterion("bms_voltage_b not in", values, "bmsVoltageB");
            return (Criteria) this;
        }

        public Criteria andBmsVoltageBBetween(Integer value1, Integer value2) {
            addCriterion("bms_voltage_b between", value1, value2, "bmsVoltageB");
            return (Criteria) this;
        }

        public Criteria andBmsVoltageBNotBetween(Integer value1, Integer value2) {
            addCriterion("bms_voltage_b not between", value1, value2, "bmsVoltageB");
            return (Criteria) this;
        }

        public Criteria andRemainingTimeAIsNull() {
            addCriterion("remaining_time_a is null");
            return (Criteria) this;
        }

        public Criteria andRemainingTimeAIsNotNull() {
            addCriterion("remaining_time_a is not null");
            return (Criteria) this;
        }

        public Criteria andRemainingTimeAEqualTo(Integer value) {
            addCriterion("remaining_time_a =", value, "remainingTimeA");
            return (Criteria) this;
        }

        public Criteria andRemainingTimeANotEqualTo(Integer value) {
            addCriterion("remaining_time_a <>", value, "remainingTimeA");
            return (Criteria) this;
        }

        public Criteria andRemainingTimeAGreaterThan(Integer value) {
            addCriterion("remaining_time_a >", value, "remainingTimeA");
            return (Criteria) this;
        }

        public Criteria andRemainingTimeAGreaterThanOrEqualTo(Integer value) {
            addCriterion("remaining_time_a >=", value, "remainingTimeA");
            return (Criteria) this;
        }

        public Criteria andRemainingTimeALessThan(Integer value) {
            addCriterion("remaining_time_a <", value, "remainingTimeA");
            return (Criteria) this;
        }

        public Criteria andRemainingTimeALessThanOrEqualTo(Integer value) {
            addCriterion("remaining_time_a <=", value, "remainingTimeA");
            return (Criteria) this;
        }

        public Criteria andRemainingTimeAIn(List<Integer> values) {
            addCriterion("remaining_time_a in", values, "remainingTimeA");
            return (Criteria) this;
        }

        public Criteria andRemainingTimeANotIn(List<Integer> values) {
            addCriterion("remaining_time_a not in", values, "remainingTimeA");
            return (Criteria) this;
        }

        public Criteria andRemainingTimeABetween(Integer value1, Integer value2) {
            addCriterion("remaining_time_a between", value1, value2, "remainingTimeA");
            return (Criteria) this;
        }

        public Criteria andRemainingTimeANotBetween(Integer value1, Integer value2) {
            addCriterion("remaining_time_a not between", value1, value2, "remainingTimeA");
            return (Criteria) this;
        }

        public Criteria andRemainingTimeBIsNull() {
            addCriterion("remaining_time_b is null");
            return (Criteria) this;
        }

        public Criteria andRemainingTimeBIsNotNull() {
            addCriterion("remaining_time_b is not null");
            return (Criteria) this;
        }

        public Criteria andRemainingTimeBEqualTo(Integer value) {
            addCriterion("remaining_time_b =", value, "remainingTimeB");
            return (Criteria) this;
        }

        public Criteria andRemainingTimeBNotEqualTo(Integer value) {
            addCriterion("remaining_time_b <>", value, "remainingTimeB");
            return (Criteria) this;
        }

        public Criteria andRemainingTimeBGreaterThan(Integer value) {
            addCriterion("remaining_time_b >", value, "remainingTimeB");
            return (Criteria) this;
        }

        public Criteria andRemainingTimeBGreaterThanOrEqualTo(Integer value) {
            addCriterion("remaining_time_b >=", value, "remainingTimeB");
            return (Criteria) this;
        }

        public Criteria andRemainingTimeBLessThan(Integer value) {
            addCriterion("remaining_time_b <", value, "remainingTimeB");
            return (Criteria) this;
        }

        public Criteria andRemainingTimeBLessThanOrEqualTo(Integer value) {
            addCriterion("remaining_time_b <=", value, "remainingTimeB");
            return (Criteria) this;
        }

        public Criteria andRemainingTimeBIn(List<Integer> values) {
            addCriterion("remaining_time_b in", values, "remainingTimeB");
            return (Criteria) this;
        }

        public Criteria andRemainingTimeBNotIn(List<Integer> values) {
            addCriterion("remaining_time_b not in", values, "remainingTimeB");
            return (Criteria) this;
        }

        public Criteria andRemainingTimeBBetween(Integer value1, Integer value2) {
            addCriterion("remaining_time_b between", value1, value2, "remainingTimeB");
            return (Criteria) this;
        }

        public Criteria andRemainingTimeBNotBetween(Integer value1, Integer value2) {
            addCriterion("remaining_time_b not between", value1, value2, "remainingTimeB");
            return (Criteria) this;
        }

        public Criteria andUsedTimeAIsNull() {
            addCriterion("used_time_a is null");
            return (Criteria) this;
        }

        public Criteria andUsedTimeAIsNotNull() {
            addCriterion("used_time_a is not null");
            return (Criteria) this;
        }

        public Criteria andUsedTimeAEqualTo(Integer value) {
            addCriterion("used_time_a =", value, "usedTimeA");
            return (Criteria) this;
        }

        public Criteria andUsedTimeANotEqualTo(Integer value) {
            addCriterion("used_time_a <>", value, "usedTimeA");
            return (Criteria) this;
        }

        public Criteria andUsedTimeAGreaterThan(Integer value) {
            addCriterion("used_time_a >", value, "usedTimeA");
            return (Criteria) this;
        }

        public Criteria andUsedTimeAGreaterThanOrEqualTo(Integer value) {
            addCriterion("used_time_a >=", value, "usedTimeA");
            return (Criteria) this;
        }

        public Criteria andUsedTimeALessThan(Integer value) {
            addCriterion("used_time_a <", value, "usedTimeA");
            return (Criteria) this;
        }

        public Criteria andUsedTimeALessThanOrEqualTo(Integer value) {
            addCriterion("used_time_a <=", value, "usedTimeA");
            return (Criteria) this;
        }

        public Criteria andUsedTimeAIn(List<Integer> values) {
            addCriterion("used_time_a in", values, "usedTimeA");
            return (Criteria) this;
        }

        public Criteria andUsedTimeANotIn(List<Integer> values) {
            addCriterion("used_time_a not in", values, "usedTimeA");
            return (Criteria) this;
        }

        public Criteria andUsedTimeABetween(Integer value1, Integer value2) {
            addCriterion("used_time_a between", value1, value2, "usedTimeA");
            return (Criteria) this;
        }

        public Criteria andUsedTimeANotBetween(Integer value1, Integer value2) {
            addCriterion("used_time_a not between", value1, value2, "usedTimeA");
            return (Criteria) this;
        }

        public Criteria andUsedTimeBIsNull() {
            addCriterion("used_time_b is null");
            return (Criteria) this;
        }

        public Criteria andUsedTimeBIsNotNull() {
            addCriterion("used_time_b is not null");
            return (Criteria) this;
        }

        public Criteria andUsedTimeBEqualTo(Integer value) {
            addCriterion("used_time_b =", value, "usedTimeB");
            return (Criteria) this;
        }

        public Criteria andUsedTimeBNotEqualTo(Integer value) {
            addCriterion("used_time_b <>", value, "usedTimeB");
            return (Criteria) this;
        }

        public Criteria andUsedTimeBGreaterThan(Integer value) {
            addCriterion("used_time_b >", value, "usedTimeB");
            return (Criteria) this;
        }

        public Criteria andUsedTimeBGreaterThanOrEqualTo(Integer value) {
            addCriterion("used_time_b >=", value, "usedTimeB");
            return (Criteria) this;
        }

        public Criteria andUsedTimeBLessThan(Integer value) {
            addCriterion("used_time_b <", value, "usedTimeB");
            return (Criteria) this;
        }

        public Criteria andUsedTimeBLessThanOrEqualTo(Integer value) {
            addCriterion("used_time_b <=", value, "usedTimeB");
            return (Criteria) this;
        }

        public Criteria andUsedTimeBIn(List<Integer> values) {
            addCriterion("used_time_b in", values, "usedTimeB");
            return (Criteria) this;
        }

        public Criteria andUsedTimeBNotIn(List<Integer> values) {
            addCriterion("used_time_b not in", values, "usedTimeB");
            return (Criteria) this;
        }

        public Criteria andUsedTimeBBetween(Integer value1, Integer value2) {
            addCriterion("used_time_b between", value1, value2, "usedTimeB");
            return (Criteria) this;
        }

        public Criteria andUsedTimeBNotBetween(Integer value1, Integer value2) {
            addCriterion("used_time_b not between", value1, value2, "usedTimeB");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNull() {
            addCriterion("remark is null");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNotNull() {
            addCriterion("remark is not null");
            return (Criteria) this;
        }

        public Criteria andRemarkEqualTo(String value) {
            addCriterion("remark =", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotEqualTo(String value) {
            addCriterion("remark <>", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThan(String value) {
            addCriterion("remark >", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThanOrEqualTo(String value) {
            addCriterion("remark >=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThan(String value) {
            addCriterion("remark <", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThanOrEqualTo(String value) {
            addCriterion("remark <=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLike(String value) {
            addCriterion("remark like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotLike(String value) {
            addCriterion("remark not like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkIn(List<String> values) {
            addCriterion("remark in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotIn(List<String> values) {
            addCriterion("remark not in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkBetween(String value1, String value2) {
            addCriterion("remark between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotBetween(String value1, String value2) {
            addCriterion("remark not between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andCreatedByIsNull() {
            addCriterion("created_by is null");
            return (Criteria) this;
        }

        public Criteria andCreatedByIsNotNull() {
            addCriterion("created_by is not null");
            return (Criteria) this;
        }

        public Criteria andCreatedByEqualTo(String value) {
            addCriterion("created_by =", value, "createdBy");
            return (Criteria) this;
        }

        public Criteria andCreatedByNotEqualTo(String value) {
            addCriterion("created_by <>", value, "createdBy");
            return (Criteria) this;
        }

        public Criteria andCreatedByGreaterThan(String value) {
            addCriterion("created_by >", value, "createdBy");
            return (Criteria) this;
        }

        public Criteria andCreatedByGreaterThanOrEqualTo(String value) {
            addCriterion("created_by >=", value, "createdBy");
            return (Criteria) this;
        }

        public Criteria andCreatedByLessThan(String value) {
            addCriterion("created_by <", value, "createdBy");
            return (Criteria) this;
        }

        public Criteria andCreatedByLessThanOrEqualTo(String value) {
            addCriterion("created_by <=", value, "createdBy");
            return (Criteria) this;
        }

        public Criteria andCreatedByLike(String value) {
            addCriterion("created_by like", value, "createdBy");
            return (Criteria) this;
        }

        public Criteria andCreatedByNotLike(String value) {
            addCriterion("created_by not like", value, "createdBy");
            return (Criteria) this;
        }

        public Criteria andCreatedByIn(List<String> values) {
            addCriterion("created_by in", values, "createdBy");
            return (Criteria) this;
        }

        public Criteria andCreatedByNotIn(List<String> values) {
            addCriterion("created_by not in", values, "createdBy");
            return (Criteria) this;
        }

        public Criteria andCreatedByBetween(String value1, String value2) {
            addCriterion("created_by between", value1, value2, "createdBy");
            return (Criteria) this;
        }

        public Criteria andCreatedByNotBetween(String value1, String value2) {
            addCriterion("created_by not between", value1, value2, "createdBy");
            return (Criteria) this;
        }

        public Criteria andCreatedTimeIsNull() {
            addCriterion("created_time is null");
            return (Criteria) this;
        }

        public Criteria andCreatedTimeIsNotNull() {
            addCriterion("created_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreatedTimeEqualTo(Date value) {
            addCriterion("created_time =", value, "createdTime");
            return (Criteria) this;
        }

        public Criteria andCreatedTimeNotEqualTo(Date value) {
            addCriterion("created_time <>", value, "createdTime");
            return (Criteria) this;
        }

        public Criteria andCreatedTimeGreaterThan(Date value) {
            addCriterion("created_time >", value, "createdTime");
            return (Criteria) this;
        }

        public Criteria andCreatedTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("created_time >=", value, "createdTime");
            return (Criteria) this;
        }

        public Criteria andCreatedTimeLessThan(Date value) {
            addCriterion("created_time <", value, "createdTime");
            return (Criteria) this;
        }

        public Criteria andCreatedTimeLessThanOrEqualTo(Date value) {
            addCriterion("created_time <=", value, "createdTime");
            return (Criteria) this;
        }

        public Criteria andCreatedTimeIn(List<Date> values) {
            addCriterion("created_time in", values, "createdTime");
            return (Criteria) this;
        }

        public Criteria andCreatedTimeNotIn(List<Date> values) {
            addCriterion("created_time not in", values, "createdTime");
            return (Criteria) this;
        }

        public Criteria andCreatedTimeBetween(Date value1, Date value2) {
            addCriterion("created_time between", value1, value2, "createdTime");
            return (Criteria) this;
        }

        public Criteria andCreatedTimeNotBetween(Date value1, Date value2) {
            addCriterion("created_time not between", value1, value2, "createdTime");
            return (Criteria) this;
        }

        public Criteria andLastUpdatedByIsNull() {
            addCriterion("last_updated_by is null");
            return (Criteria) this;
        }

        public Criteria andLastUpdatedByIsNotNull() {
            addCriterion("last_updated_by is not null");
            return (Criteria) this;
        }

        public Criteria andLastUpdatedByEqualTo(String value) {
            addCriterion("last_updated_by =", value, "lastUpdatedBy");
            return (Criteria) this;
        }

        public Criteria andLastUpdatedByNotEqualTo(String value) {
            addCriterion("last_updated_by <>", value, "lastUpdatedBy");
            return (Criteria) this;
        }

        public Criteria andLastUpdatedByGreaterThan(String value) {
            addCriterion("last_updated_by >", value, "lastUpdatedBy");
            return (Criteria) this;
        }

        public Criteria andLastUpdatedByGreaterThanOrEqualTo(String value) {
            addCriterion("last_updated_by >=", value, "lastUpdatedBy");
            return (Criteria) this;
        }

        public Criteria andLastUpdatedByLessThan(String value) {
            addCriterion("last_updated_by <", value, "lastUpdatedBy");
            return (Criteria) this;
        }

        public Criteria andLastUpdatedByLessThanOrEqualTo(String value) {
            addCriterion("last_updated_by <=", value, "lastUpdatedBy");
            return (Criteria) this;
        }

        public Criteria andLastUpdatedByLike(String value) {
            addCriterion("last_updated_by like", value, "lastUpdatedBy");
            return (Criteria) this;
        }

        public Criteria andLastUpdatedByNotLike(String value) {
            addCriterion("last_updated_by not like", value, "lastUpdatedBy");
            return (Criteria) this;
        }

        public Criteria andLastUpdatedByIn(List<String> values) {
            addCriterion("last_updated_by in", values, "lastUpdatedBy");
            return (Criteria) this;
        }

        public Criteria andLastUpdatedByNotIn(List<String> values) {
            addCriterion("last_updated_by not in", values, "lastUpdatedBy");
            return (Criteria) this;
        }

        public Criteria andLastUpdatedByBetween(String value1, String value2) {
            addCriterion("last_updated_by between", value1, value2, "lastUpdatedBy");
            return (Criteria) this;
        }

        public Criteria andLastUpdatedByNotBetween(String value1, String value2) {
            addCriterion("last_updated_by not between", value1, value2, "lastUpdatedBy");
            return (Criteria) this;
        }

        public Criteria andLastUpdatedTimeIsNull() {
            addCriterion("last_updated_time is null");
            return (Criteria) this;
        }

        public Criteria andLastUpdatedTimeIsNotNull() {
            addCriterion("last_updated_time is not null");
            return (Criteria) this;
        }

        public Criteria andLastUpdatedTimeEqualTo(Date value) {
            addCriterion("last_updated_time =", value, "lastUpdatedTime");
            return (Criteria) this;
        }

        public Criteria andLastUpdatedTimeNotEqualTo(Date value) {
            addCriterion("last_updated_time <>", value, "lastUpdatedTime");
            return (Criteria) this;
        }

        public Criteria andLastUpdatedTimeGreaterThan(Date value) {
            addCriterion("last_updated_time >", value, "lastUpdatedTime");
            return (Criteria) this;
        }

        public Criteria andLastUpdatedTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("last_updated_time >=", value, "lastUpdatedTime");
            return (Criteria) this;
        }

        public Criteria andLastUpdatedTimeLessThan(Date value) {
            addCriterion("last_updated_time <", value, "lastUpdatedTime");
            return (Criteria) this;
        }

        public Criteria andLastUpdatedTimeLessThanOrEqualTo(Date value) {
            addCriterion("last_updated_time <=", value, "lastUpdatedTime");
            return (Criteria) this;
        }

        public Criteria andLastUpdatedTimeIn(List<Date> values) {
            addCriterion("last_updated_time in", values, "lastUpdatedTime");
            return (Criteria) this;
        }

        public Criteria andLastUpdatedTimeNotIn(List<Date> values) {
            addCriterion("last_updated_time not in", values, "lastUpdatedTime");
            return (Criteria) this;
        }

        public Criteria andLastUpdatedTimeBetween(Date value1, Date value2) {
            addCriterion("last_updated_time between", value1, value2, "lastUpdatedTime");
            return (Criteria) this;
        }

        public Criteria andLastUpdatedTimeNotBetween(Date value1, Date value2) {
            addCriterion("last_updated_time not between", value1, value2, "lastUpdatedTime");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}